package com.wyj.netty;

import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToMessageCodec;
import io.netty.util.CharsetUtil;

import java.util.List;

/**
 * TODO: 编码解码器。加密的数据：需要发送的数据，OUTBOUND_IN；解密的数据：需要读取的数据，INBOUND_IN
 *
 * @author wuyijie
 * @date 2021/12/25 10:32 下午
 */
public class MessageCoder extends MessageToMessageCodec<ByteBuf, String> {

    @Override
    protected void encode(ChannelHandlerContext channelHandlerContext, String s, List<Object> list) throws Exception {
        System.out.println("【正在进行消息编码···】");
        list.add(Unpooled.copiedBuffer(s, CharsetUtil.UTF_8));
    }

    @Override
    protected void decode(ChannelHandlerContext channelHandlerContext, ByteBuf s, List<Object> list) throws Exception {
        System.out.println("【正在进行消息解码···】");
        list.add(s.toString(CharsetUtil.UTF_8));
    }
}
